package publicaciones;

import java.text.SimpleDateFormat;
import java.util.Date;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.*;

import tareas.ManejadorTarea;

public class PublicacionAction extends Action{
	
	public ActionForward execute(ActionMapping mapping, ActionForm form, 
								 HttpServletRequest request, HttpServletResponse response)
										 throws Exception {
		
		ManejadorTarea mt = ManejadorTarea.getInstance();
		String path = request.getSession().getServletContext().getRealPath("");
		mt.setArchivo(path);
				
		PublicacionForm pf = (PublicacionForm) form;
    	
    	String t, fv, c,v,ta;
    	Date vence, ahora;
    	ahora = new Date();
    	
    	String cadena = pf.getFechaVencimiento();
		String dia = cadena.substring(0,2);
		int nrod = Integer.parseInt(dia);
		String mes = cadena.substring(3,5);
		int nrom = Integer.parseInt(mes);
		nrom-=1;
		String ano = cadena.substring(6,cadena.length());
		int nroa = Integer.parseInt(ano);
		nroa-=1900;
		vence = new Date(nroa,nrom,nrod);
		
    	SimpleDateFormat vv = new SimpleDateFormat("hh:mm:ss dd/MM/yyyy'.'");
    	t = pf.getTitulo();
    	fv = vv.format(vence);
    	c = pf.getCuerpo();
    	if(pf.getVisibilidad())
    		v="true";
    	else
    		v="false";
    	
    	ta = Integer.toString(pf.getTotalAcciones());
    	
    	request.setAttribute("fechaVencimiento",fv);
    	request.setAttribute("titulo",t);
    	request.setAttribute("cuerpo",c);
    	request.setAttribute("visibilidad", v);
    	request.setAttribute("totalAcciones",ta);
    	
    	if(ahora.compareTo(vence) <= 0){
    		mt.publicarTarea(vence, t, c,v, ta);
    		form.reset(null,null);
    		return mapping.findForward("exito");
    	}
    	else {
    		form.reset(null,null);
    		return mapping.findForward("falla");
    	}
	}
}
